package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: H_tao_X
 * Date: 2022-12-07
 * Time: 22:44
 */
@Mapper
public interface LoveMusicMapper {

    /**
     * 收藏/喜欢音乐
     */

    // 查询喜欢/收藏的音乐
    // userId 用户id，musicId 音乐本身的 id
    Music findLoveMusic(int userId,int musicId);

    // 收藏音乐
    boolean insertLoveMusic(int userId,int musicId);


    /**
     * 查询这收藏的过的音乐
     */

    // 查询这个用户 收藏过的 所有的音乐--> 没有传入 musicName，不传参查找所有收藏的音乐
    List<Music> findLoveMusicByUserId(int userId);

    // 查询当前用户，指定为 musicName 的音乐，支持模糊查询
    List<Music> findLoveMusicByKeyAndUid(String musicName,int userId);

    /**
     * 移除某个用户喜欢的音乐 / 取消收藏音乐
     * @param userId   用户的ID
     * @param musicId  音乐的ID
     * @return 受影响的行数
     */

    int deleteLoveMusic(int userId,int musicId);


    int deleteLoveMusicById(int musicId);
}
